1. Field of the Invention
Aspects of the present invention relate to a video decoding method and apparatus, and more particularly, to a multi-core processor-based video decoding method and apparatus that improves a decoding performance.
2. Description of the Related Art
The development of information and communication technology (ICT) including the Internet has increased video communication as well as text and voice communication. As conventional text-oriented communication fails to satisfy various needs of users, multimedia services that can provide various types of information (such as text, images, and music) have increased. Due to its large size, multimedia data requires a large-capacity storage medium. In addition, a wide bandwidth is required to transmit the multimedia data. Therefore, a compression coding method is requisite for transmitting multimedia data including text, images, and audio.
Conventional video coding methods (such as Moving Picture Experts Group (MPEG)-2, MPEG-4, H.263 and H.264) are based on a motion-compensated prediction coding technique. In the conventional video coding methods, temporal redundancy is removed by motion compensation, and spatial redundancy is removed by transform coding. MPEG-2 is a video and audio compression standard that is known as an International Organization for Standardization (ISO)/International Electrotechnical Commission (IEC) 13818-2 video standard. MPEG-2 is an extension of MPEG-1 and is designed to efficiently compress video data used in conventional televisions (TVs) and high-definition (HD) TVs. In addition, MPEG-2 is designed to provide an HD video encoding technique through computer networks.
The MEG-2 video standard compresses video data by removing spatial and temporal redundancies in an image and represents the image without the spatial and temporal redundancies by an agreed-upon bit string of a far shorter length. In order to remove spatial redundancy, discrete cosine transform (DCT) and quantization may be performed on an image to remove high-frequency components to which human eyes are not sensitive and which contain a large amount of information. In addition, in order to remove temporal redundancy (similarity between image frames), similarities between frames may be detected, and image data may not be sent to regions having the similarities. Instead, error components that are created when the regions are represented by corresponding motion vector information and motion vectors may be sent to the regions. In this case, the error components also go through DCT and quantization. Alternatively, a variable length coding (VLC) method, which losslessly compresses bit strings, may be used to allocate far shorter codes to more frequently generated bit strings in consideration of frequency of generation. In particular, DCT coefficients may be represented by a short bit string based on run length codes.
Until recently, a single-core processor has been used for the above video decoding operations. However, since the introduction of a multi-core processor having superior performance, the use of the multi-core processor is increasing in various fields in which a lot of system resources are consumed, including video decoding.
In the case of a functional division method in which a plurality of cores included in a multi-processor processor are designed to respectively perform predetermined functions, it may be easy to implement the multi-core processor. However, since each core performs the respective function at a different time, it is difficult to achieve parallel processing, and the entire performance of the multi-core processor cannot be fully utilized.
In the case of a data division method in which a picture is divided into a plurality of regions and the regions are respectively allocated to a plurality of cores in a multi-core processor, a high level of parallelism may be achieved. However, if data processing processes are dependent on each other, it may be complicated to implement the multi-core processor. To solve this and/or other problems, additional operations (for example, predicting the relation between the size of each piece into which data is divided, and computation load) are utilize, which results in the significant deterioration of the performance of the multi-core processor. In addition, since each core of the multi-core processor has all functions for video decoding, the multi-core processor implementing the data division method is inefficient in terms of the use of system resources.
Therefore, a video decoding method that fully utilizes the performance of a multi-core processor and thus enhances video decoding performance is beneficial.